From 47d6677e92bb364b6a58fad624d89ebb4a0fc6dd Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sat, 21 Jun 2014 10:33:40 -0400 Subject: [PATCH] gdkwindow: Remove an extra region copy This code is only called with the current paint region as its argument. Instead of having to copy it and do a no-op intersect against itself, just use the current paint directly. --- gdk/gdkwindow.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index dd217136e6..a0da4c4b70 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -2773,7 +2773,7 @@ gdk_window_begin_paint_region (GdkWindow *window, } if (!cairo_region_is_empty (window->current_paint.region)) - gdk_window_clear_backing_region (window, window->current_paint.region); + gdk_window_clear_backing_region (window); } /** @@ -2942,10 +2942,8 @@ gdk_window_get_visible_region (GdkWindow *window) } static void -gdk_window_clear_backing_region (GdkWindow *window, - cairo_region_t *region) +gdk_window_clear_backing_region (GdkWindow *window) { - cairo_region_t *clip; GdkWindow *bg_window; cairo_pattern_t *pattern = NULL; int x_offset = 0, y_offset = 0; @@ -2975,15 +2973,10 @@ gdk_window_clear_backing_region (GdkWindow *window, else cairo_set_source_rgb (cr, 0, 0, 0); - clip = cairo_region_copy (window->current_paint.region); - cairo_region_intersect (clip, region); - - gdk_cairo_region (cr, clip); + gdk_cairo_region (cr, window->current_paint.region); cairo_fill (cr); cairo_destroy (cr); - - cairo_region_destroy (clip); } /* This returns either the current working surface on the paint stack -- 2.30.2